Lab 05b - Docker
Docker
Instalacja
Może nie być wymagana w laboratorium.
Usunięcie starszych wersji Dockera:
sudo apt remove docker docker-engine docker.io containerd runcZaktualizuj i zainstaluj wymagane pakiety:
sudo apt update sudo apt install ca-certificates curl gnupg lsb-releaseDodaj oficjalny klucz GPG Dockera:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgSkonfiguruj stabilne repozytorium Dockera:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Powyższe kroki i dalsza dokumentacja jest dostępna również tutaj.
Polecenia Dockera
Wylistowanie obrazów Dockera
docker imagesWylistowanie wszystkich kontenerów Dockera
docker ps -aUruchomienie kontenera
docker start <nazwa_kontenera>Uruchomienie
interaktywnej powłoki bash w kontenerze
docker exec -it <nazwa_kontenera> bashUtworzenie
nowego kontenera i uruchomienie interaktywnej powłoki bash
w tym kontenerze
docker run -it <nazwa_obrazu> bashSkopiowanie pliku z hosta do kontenera
docker cp path/to/file/on/host <nazwa_kontenera>:path/to/file/in/containerSkopiowanie pliku z kontenera na hosta
docker cp <nazwa_kontenera>:path/to/file/in/container path/to/file/on/hostWyświetlenie listy woluminów
docker volume lsTworzenie woluminu
docker volume create my_volumeUsunięcie woluminu
docker volume rm my_volume🛠🔥 Zadanie 1 🛠🔥
Przeczytaj Docker’s get started (w sumie 10 części).
🛠🔥 Zadanie 2 🛠🔥
Dokonaj konteneryzacji aplikacji z poprzednich zajęć. Aplikacja powinna używać bind mounts do zapisu do pliku znajdującego się w systemie plików hosta.
- Wskazówka 1: Możesz użyć Python image jako bazy dla obrazu aplikacji.
- Wskazówka 2: Możesz zainstalować wymagane pakiety (w tym przypadku
click) globalnie, używającpippodczas procesu budowania obrazu.
Uruchom aplikację i sprawdź logi. Spróbuj włączyć autostart z uruchomieniem systemu dla swojego kontenera.
🛠🔥 Zadanie 3 🛠🔥
Zamiast montowaniu katalogu z systemu hosta można wykorzystać wolumin Dockerowy. Wykonaj poniższe polecenia.
- Utwórz wolumin o nazwie
my_volume. - Utwórz i uruchom kontener z podpiętym woluminem wykorzystując
polecenie
docker run -it --name my_container -v my_volume:/data ubuntu. - Utwórz i zapisz dowolny plik wewnątrz kontenera (np.
echo "Hello from Docker!" > /data/hello.txt). - Wyjdź z kontenera poleceniem
exit. - Usuń kontener poleceniem
docker rm my_container.
Po zastanowieniu, sprawdź w konsoli
Poniższe polecenie spowoduje automatyczne usunięcie po uruchomieniu kontenera i odczytaniu pliku tekstowego.
docker run --rm -v my_volume:/data ubuntu cat /data/hello.txt